<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>base component</title>
</head>

<body>
    <div id="app">
        <!-- 两个变量名不一定要完全一样，这边只是方便理解 -->
        <my-list :students="students"></my-list>
    </div>
    <script src="../assets/vue2.js"></script>
    <script>
        Vue.component('my-list', {
            props: { // 对传过来的students进行约束（也可以直接props:['students']）
                students: {
                    type: Array, // 设置students的数据类型是数组
                    default: [] // 默认值是空列表
                },
            },
            template:
                `<ul>
                <li v-for="name in students" :key="name">
                {{ name }}
                </li>
            </ul>`
        })
        // 组件定义后再实例化，如果在前面实例化，页面会不正常
        const app = new Vue({
            el: '#app',
            data() {
                return {
                    students: ["张三", "李四", "王二"]
                }
            },
        })
    </script>
</body>

</html>